#ifndef KEY_HEADER
#define KEY_HEADER

#define KEY_CTRL    10
#define KEY_SHIFT   11
#define KEY_ALT     12
#define KEY_ESC     13
#define KEY_HOME    14
#define KEY_END     15

#define KEY_F1   101
#define KEY_F2   102
#define KEY_F3   103
#define KEY_F4   104
#define KEY_F5   105
#define KEY_F6   106
#define KEY_F7   107
#define KEY_F8   108
#define KEY_F9   109
#define KEY_F10  110
#define KEY_F11  111
#define KEY_F12  112

#define KEY_A   201
#define KEY_B   202
#define KEY_C   203
#define KEY_D   204
#define KEY_E   205
#define KEY_F   206
#define KEY_G   207
#define KEY_H   208
#define KEY_I   209
#define KEY_J   210
#define KEY_K   211
#define KEY_L   212
#define KEY_M   213
#define KEY_N   214
#define KEY_O   215
#define KEY_P   216
#define KEY_Q   217
#define KEY_R   218
#define KEY_S   219
#define KEY_T   220
#define KEY_U   221
#define KEY_V   222
#define KEY_W   223
#define KEY_X   224
#define KEY_Y   225
#define KEY_Z   226

#define KEY_0   300
#define KEY_1   301
#define KEY_2   302
#define KEY_3   303
#define KEY_4   304
#define KEY_5   305
#define KEY_6   306
#define KEY_7   307
#define KEY_8   308
#define KEY_9   309

#define KEY_UP    401
#define KEY_DOWN  402
#define KEY_LEFT  403
#define KEY_RIGHT 404

class QKey{
    public:
        static int key(int key){
            switch(key){
                case Qt::Key_Control:
                    return KEY_CTRL;
                    
                case Qt::Key_A:
                    return KEY_A;
                case Qt::Key_B:
                    return KEY_B;
                case Qt::Key_C:
                    return KEY_C;
                case Qt::Key_D:
                    return KEY_D;
                case Qt::Key_E:
                    return KEY_E;
                case Qt::Key_F:
                    return KEY_F;
                case Qt::Key_G:
                    return KEY_G;
                case Qt::Key_H:
                    return KEY_H;
                case Qt::Key_I:
                    return KEY_I;
                case Qt::Key_J:
                    return KEY_J;                                                            
                case Qt::Key_K:
                    return KEY_K;
                case Qt::Key_L:
                    return KEY_L;
                case Qt::Key_M:
                    return KEY_M;
                case Qt::Key_N:
                    return KEY_N;
                case Qt::Key_S:
                    return KEY_S;
                    
                case Qt::Key_0:
                    return KEY_0;
                case Qt::Key_1:
                    return KEY_1;
                case Qt::Key_2:
                    return KEY_2;
                case Qt::Key_3:
                    return KEY_3;
                case Qt::Key_4:
                    return KEY_4;
                case Qt::Key_5:
                    return KEY_5;
                case Qt::Key_6:
                    return KEY_6;
                case Qt::Key_7:
                    return KEY_7;
                case Qt::Key_8:
                    return KEY_8;
                case Qt::Key_9:
                    return KEY_9;
                    
                    
                case Qt::Key_Up:
                    return KEY_UP;
                case Qt::Key_Down:
                    return KEY_DOWN;                    
                case Qt::Key_Left:
                    return KEY_LEFT;
                case Qt::Key_Right:
                    return KEY_RIGHT;
            }
        }
};

#endif /* KEY_HEADER */
